/**
 * 待办事项相关API服务
 */

const http = require('./http');

/**
 * 创建待办事项
 * @param {Object} data 待办事项数据 {coupleId, title, description, dueDate, assigneeId}
 * @returns {Promise} Promise对象
 */
const createTodo = (data) => {
  return http.post('/api/todos', data);
};

/**
 * 获取情侣待办事项列表
 * @param {Number} coupleId 情侣关系ID
 * @param {Object} params 查询参数 {status}
 * @returns {Promise} Promise对象
 */
const getCoupleTodos = (coupleId, params = {}) => {
  return http.get(`/api/couples/${coupleId}/todos`, params);
};

/**
 * 获取待办事项详情
 * @param {Number} id 待办事项ID
 * @returns {Promise} Promise对象
 */
const getTodoDetail = (id) => {
  return http.get(`/api/todos/${id}`);
};

/**
 * 更新待办事项
 * @param {Number} id 待办事项ID
 * @param {Object} data 待办事项数据 {title, description, dueDate}
 * @returns {Promise} Promise对象
 */
const updateTodo = (id, data) => {
  return http.put(`/api/todos/${id}`, data);
};

/**
 * 更新待办事项状态
 * @param {Number} id 待办事项ID
 * @param {Number} status 状态 0-待办 1-完成
 * @returns {Promise} Promise对象
 */
const updateTodoStatus = (id, status) => {
  return http.patch(`/api/todos/${id}/status`, { status });
};

/**
 * 删除待办事项
 * @param {Number} id 待办事项ID
 * @returns {Promise} Promise对象
 */
const deleteTodo = (id) => {
  return http.del(`/api/todos/${id}`);
};

module.exports = {
  createTodo,
  getCoupleTodos,
  getTodoDetail,
  updateTodo,
  updateTodoStatus,
  deleteTodo
};